package tp.pr5.mv.command;

import tp.pr5.mv.CPU;
import tp.pr5.mv.Memory;
import tp.pr5.mv.OperandStack;
import tp.pr5.mv.ProgramCounter;

public class CPOP extends Command {

	public boolean executeCommand(Memory mem, OperandStack stack, ProgramCounter pc, CPU cpu) {

		// Retira de la cima de la pila el valor depositado si es posible realizarlo
		
		if ( !stack.isEmpty() ) {
			stack.pop();
			return true;
		}
		
		else return false;
	}

	public Command parse(String line) {  

		if ( line.equalsIgnoreCase( "pop" ) ) return new CPOP(); // Parseamos si el comando introducido es pop
		else return null;
	}

}
